'Weak Dependency Graph [60.0]'
------------------------------
Answer:           YES(?,O(n^1))
Input Problem:    innermost runtime-complexity with respect to
  Rules:
    {  ++(nil(), y) -> y
     , ++(x, nil()) -> x
     , ++(.(x, y), z) -> .(x, ++(y, z))
     , ++(++(x, y), z) -> ++(x, ++(y, z))}

Details:         
  We have computed the following set of weak (innermost) dependency pairs:
   {  ++^#(nil(), y) -> c_0()
    , ++^#(x, nil()) -> c_1()
    , ++^#(.(x, y), z) -> c_2(++^#(y, z))
    , ++^#(++(x, y), z) -> c_3(++^#(x, ++(y, z)))}
  
  The usable rules are:
   {  ++(nil(), y) -> y
    , ++(x, nil()) -> x
    , ++(.(x, y), z) -> .(x, ++(y, z))
    , ++(++(x, y), z) -> ++(x, ++(y, z))}
  
  The estimated dependency graph contains the following edges:
   {++^#(.(x, y), z) -> c_2(++^#(y, z))}
     ==> {++^#(++(x, y), z) -> c_3(++^#(x, ++(y, z)))}
   {++^#(.(x, y), z) -> c_2(++^#(y, z))}
     ==> {++^#(.(x, y), z) -> c_2(++^#(y, z))}
   {++^#(.(x, y), z) -> c_2(++^#(y, z))}
     ==> {++^#(x, nil()) -> c_1()}
   {++^#(.(x, y), z) -> c_2(++^#(y, z))}
     ==> {++^#(nil(), y) -> c_0()}
   {++^#(++(x, y), z) -> c_3(++^#(x, ++(y, z)))}
     ==> {++^#(++(x, y), z) -> c_3(++^#(x, ++(y, z)))}
   {++^#(++(x, y), z) -> c_3(++^#(x, ++(y, z)))}
     ==> {++^#(.(x, y), z) -> c_2(++^#(y, z))}
   {++^#(++(x, y), z) -> c_3(++^#(x, ++(y, z)))}
     ==> {++^#(x, nil()) -> c_1()}
   {++^#(++(x, y), z) -> c_3(++^#(x, ++(y, z)))}
     ==> {++^#(nil(), y) -> c_0()}
  
  We consider the following path(s):
   1) {  ++^#(.(x, y), z) -> c_2(++^#(y, z))
       , ++^#(++(x, y), z) -> c_3(++^#(x, ++(y, z)))
       , ++^#(x, nil()) -> c_1()}
      
      The usable rules for this path are the following:
      {  ++(nil(), y) -> y
       , ++(x, nil()) -> x
       , ++(.(x, y), z) -> .(x, ++(y, z))
       , ++(++(x, y), z) -> ++(x, ++(y, z))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  ++(nil(), y) -> y
               , ++(x, nil()) -> x
               , ++(.(x, y), z) -> .(x, ++(y, z))
               , ++(++(x, y), z) -> ++(x, ++(y, z))
               , ++^#(.(x, y), z) -> c_2(++^#(y, z))
               , ++^#(++(x, y), z) -> c_3(++^#(x, ++(y, z)))
               , ++^#(x, nil()) -> c_1()}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {  ++(nil(), y) -> y
             , ++(x, nil()) -> x
             , ++^#(x, nil()) -> c_1()}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  ++(nil(), y) -> y
               , ++(x, nil()) -> x
               , ++^#(x, nil()) -> c_1()}
              
              Details:
                 Interpretation Functions:
                  ++(x1, x2) = [1] x1 + [1] x2 + [1]
                  nil() = [0]
                  .(x1, x2) = [1] x1 + [1] x2 + [0]
                  ++^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_0() = [0]
                  c_1() = [0]
                  c_2(x1) = [1] x1 + [0]
                  c_3(x1) = [1] x1 + [15]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {++^#(.(x, y), z) -> c_2(++^#(y, z))}
            and weakly orienting the rules
            {  ++(nil(), y) -> y
             , ++(x, nil()) -> x
             , ++^#(x, nil()) -> c_1()}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {++^#(.(x, y), z) -> c_2(++^#(y, z))}
              
              Details:
                 Interpretation Functions:
                  ++(x1, x2) = [1] x1 + [1] x2 + [1]
                  nil() = [3]
                  .(x1, x2) = [1] x1 + [1] x2 + [8]
                  ++^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_0() = [0]
                  c_1() = [0]
                  c_2(x1) = [1] x1 + [7]
                  c_3(x1) = [1] x1 + [1]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  ++(.(x, y), z) -> .(x, ++(y, z))
                 , ++(++(x, y), z) -> ++(x, ++(y, z))
                 , ++^#(++(x, y), z) -> c_3(++^#(x, ++(y, z)))}
              Weak Rules:
                {  ++^#(.(x, y), z) -> c_2(++^#(y, z))
                 , ++(nil(), y) -> y
                 , ++(x, nil()) -> x
                 , ++^#(x, nil()) -> c_1()}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  ++(.(x, y), z) -> .(x, ++(y, z))
                   , ++(++(x, y), z) -> ++(x, ++(y, z))
                   , ++^#(++(x, y), z) -> c_3(++^#(x, ++(y, z)))}
                Weak Rules:
                  {  ++^#(.(x, y), z) -> c_2(++^#(y, z))
                   , ++(nil(), y) -> y
                   , ++(x, nil()) -> x
                   , ++^#(x, nil()) -> c_1()}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  nil_0() -> 2
                 , ._0(2, 2) -> 3
                 , ._0(2, 3) -> 3
                 , ._0(3, 2) -> 3
                 , ._0(3, 3) -> 3
                 , ++^#_0(2, 2) -> 4
                 , ++^#_0(2, 3) -> 4
                 , ++^#_0(3, 2) -> 4
                 , ++^#_0(3, 3) -> 4
                 , c_1_0() -> 4
                 , c_2_0(4) -> 4}
      
   2) {  ++^#(.(x, y), z) -> c_2(++^#(y, z))
       , ++^#(++(x, y), z) -> c_3(++^#(x, ++(y, z)))}
      
      The usable rules for this path are the following:
      {  ++(nil(), y) -> y
       , ++(x, nil()) -> x
       , ++(.(x, y), z) -> .(x, ++(y, z))
       , ++(++(x, y), z) -> ++(x, ++(y, z))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  ++(nil(), y) -> y
               , ++(x, nil()) -> x
               , ++(.(x, y), z) -> .(x, ++(y, z))
               , ++(++(x, y), z) -> ++(x, ++(y, z))
               , ++^#(.(x, y), z) -> c_2(++^#(y, z))
               , ++^#(++(x, y), z) -> c_3(++^#(x, ++(y, z)))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {  ++(nil(), y) -> y
             , ++(x, nil()) -> x}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  ++(nil(), y) -> y
               , ++(x, nil()) -> x}
              
              Details:
                 Interpretation Functions:
                  ++(x1, x2) = [1] x1 + [1] x2 + [1]
                  nil() = [0]
                  .(x1, x2) = [1] x1 + [1] x2 + [0]
                  ++^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_0() = [0]
                  c_1() = [0]
                  c_2(x1) = [1] x1 + [0]
                  c_3(x1) = [1] x1 + [1]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {++^#(.(x, y), z) -> c_2(++^#(y, z))}
            and weakly orienting the rules
            {  ++(nil(), y) -> y
             , ++(x, nil()) -> x}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {++^#(.(x, y), z) -> c_2(++^#(y, z))}
              
              Details:
                 Interpretation Functions:
                  ++(x1, x2) = [1] x1 + [1] x2 + [1]
                  nil() = [7]
                  .(x1, x2) = [1] x1 + [1] x2 + [8]
                  ++^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_0() = [0]
                  c_1() = [0]
                  c_2(x1) = [1] x1 + [0]
                  c_3(x1) = [1] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  ++(.(x, y), z) -> .(x, ++(y, z))
                 , ++(++(x, y), z) -> ++(x, ++(y, z))
                 , ++^#(++(x, y), z) -> c_3(++^#(x, ++(y, z)))}
              Weak Rules:
                {  ++^#(.(x, y), z) -> c_2(++^#(y, z))
                 , ++(nil(), y) -> y
                 , ++(x, nil()) -> x}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  ++(.(x, y), z) -> .(x, ++(y, z))
                   , ++(++(x, y), z) -> ++(x, ++(y, z))
                   , ++^#(++(x, y), z) -> c_3(++^#(x, ++(y, z)))}
                Weak Rules:
                  {  ++^#(.(x, y), z) -> c_2(++^#(y, z))
                   , ++(nil(), y) -> y
                   , ++(x, nil()) -> x}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  nil_0() -> 2
                 , ._0(2, 2) -> 3
                 , ._0(2, 3) -> 3
                 , ._0(3, 2) -> 3
                 , ._0(3, 3) -> 3
                 , ++^#_0(2, 2) -> 4
                 , ++^#_0(2, 3) -> 4
                 , ++^#_0(3, 2) -> 4
                 , ++^#_0(3, 3) -> 4
                 , c_2_0(4) -> 4}
      
   3) {  ++^#(.(x, y), z) -> c_2(++^#(y, z))
       , ++^#(++(x, y), z) -> c_3(++^#(x, ++(y, z)))
       , ++^#(nil(), y) -> c_0()}
      
      The usable rules for this path are the following:
      {  ++(nil(), y) -> y
       , ++(x, nil()) -> x
       , ++(.(x, y), z) -> .(x, ++(y, z))
       , ++(++(x, y), z) -> ++(x, ++(y, z))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  ++(nil(), y) -> y
               , ++(x, nil()) -> x
               , ++(.(x, y), z) -> .(x, ++(y, z))
               , ++(++(x, y), z) -> ++(x, ++(y, z))
               , ++^#(.(x, y), z) -> c_2(++^#(y, z))
               , ++^#(++(x, y), z) -> c_3(++^#(x, ++(y, z)))
               , ++^#(nil(), y) -> c_0()}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {  ++(nil(), y) -> y
             , ++(x, nil()) -> x
             , ++^#(nil(), y) -> c_0()}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  ++(nil(), y) -> y
               , ++(x, nil()) -> x
               , ++^#(nil(), y) -> c_0()}
              
              Details:
                 Interpretation Functions:
                  ++(x1, x2) = [1] x1 + [1] x2 + [1]
                  nil() = [0]
                  .(x1, x2) = [1] x1 + [1] x2 + [0]
                  ++^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_0() = [0]
                  c_1() = [0]
                  c_2(x1) = [1] x1 + [0]
                  c_3(x1) = [1] x1 + [15]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {++^#(.(x, y), z) -> c_2(++^#(y, z))}
            and weakly orienting the rules
            {  ++(nil(), y) -> y
             , ++(x, nil()) -> x
             , ++^#(nil(), y) -> c_0()}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {++^#(.(x, y), z) -> c_2(++^#(y, z))}
              
              Details:
                 Interpretation Functions:
                  ++(x1, x2) = [1] x1 + [1] x2 + [1]
                  nil() = [3]
                  .(x1, x2) = [1] x1 + [1] x2 + [8]
                  ++^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_0() = [0]
                  c_1() = [0]
                  c_2(x1) = [1] x1 + [7]
                  c_3(x1) = [1] x1 + [1]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules:
                {  ++(.(x, y), z) -> .(x, ++(y, z))
                 , ++(++(x, y), z) -> ++(x, ++(y, z))
                 , ++^#(++(x, y), z) -> c_3(++^#(x, ++(y, z)))}
              Weak Rules:
                {  ++^#(.(x, y), z) -> c_2(++^#(y, z))
                 , ++(nil(), y) -> y
                 , ++(x, nil()) -> x
                 , ++^#(nil(), y) -> c_0()}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules:
                  {  ++(.(x, y), z) -> .(x, ++(y, z))
                   , ++(++(x, y), z) -> ++(x, ++(y, z))
                   , ++^#(++(x, y), z) -> c_3(++^#(x, ++(y, z)))}
                Weak Rules:
                  {  ++^#(.(x, y), z) -> c_2(++^#(y, z))
                   , ++(nil(), y) -> y
                   , ++(x, nil()) -> x
                   , ++^#(nil(), y) -> c_0()}
              
              Details:         
                The problem is Match-bounded by 0.
                The enriched problem is compatible with the following automaton:
                {  nil_0() -> 2
                 , ._0(2, 2) -> 3
                 , ._0(2, 3) -> 3
                 , ._0(3, 2) -> 3
                 , ._0(3, 3) -> 3
                 , ++^#_0(2, 2) -> 4
                 , ++^#_0(2, 3) -> 4
                 , ++^#_0(3, 2) -> 4
                 , ++^#_0(3, 3) -> 4
                 , c_0_0() -> 4
                 , c_2_0(4) -> 4}